install.packages("neonDivData", dependencies = TRUE, repos = 'https://daijiang.r-universe.dev')
## Warning: dependency 'neonUtilities' is not available
##
## The downloaded binary packages are in
## /var/folders/cd/ctwknlm94lsdxkkl3s67mfnc0000gp/T//Rtmp1yxEeY/downloaded_packages
library(neonDivData)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
data_bird <- neonDivData::data_bird[, c("siteID", "plotID","pointID", "observation_datetime","taxon_id","taxon_name", "taxon_rank","value","unit","variable_name", "latitude", "longitude","elevation")]
DT::datatable(head(data_bird, n = 100))
str(neonDivData::data_bird)
## tibble [226,826 × 35] (S3: tbl_df/tbl/data.frame)
## $ location_id : chr [1:226826] "BART_025.birdGrid.brd" "BART_025.birdGrid.brd" "BART_025.birdGrid.brd" "BART_025.birdGrid.brd" ...
## $ siteID : chr [1:226826] "BART" "BART" "BART" "BART" ...
## $ plotID : chr [1:226826] "BART_025" "BART_025" "BART_025" "BART_025" ...
## $ pointID : chr [1:226826] "C1" "C1" "C1" "C1" ...
## $ unique_sample_id : chr [1:226826] "BART_025.C1.2015-06-14" "BART_025.C1.2015-06-14" "BART_025.C1.2015-06-14" "BART_025.C1.2015-06-14" ...
## $ observation_datetime : POSIXct[1:226826], format: "2015-06-14 09:23:00" "2015-06-14 09:23:00" ...
## $ taxon_id : chr [1:226826] "BCCH" "REVI" "BAWW" "BTNW" ...
## $ taxon_name : chr [1:226826] "Poecile atricapillus" "Vireo olivaceus" "Mniotilta varia" "Setophaga virens" ...
## $ taxon_rank : chr [1:226826] "species" "species" "species" "species" ...
## $ variable_name : chr [1:226826] "cluster size" "cluster size" "cluster size" "cluster size" ...
## $ value : num [1:226826] 1 1 1 1 1 1 1 1 1 1 ...
## $ unit : chr [1:226826] "count of individuals" "count of individuals" "count of individuals" "count of individuals" ...
## $ pointCountMinute : chr [1:226826] "1" "1" "2" "2" ...
## $ targetTaxaPresent : chr [1:226826] "Y" "Y" "Y" "Y" ...
## $ nativeStatusCode : chr [1:226826] "N" "N" "N" "N" ...
## $ observerDistance : chr [1:226826] "42" "9" "17" "50" ...
## $ detectionMethod : chr [1:226826] "singing" "singing" "singing" "singing" ...
## $ visualConfirmation : chr [1:226826] "No" "No" "No" "No" ...
## $ sexOrAge : chr [1:226826] "Male" "Male" "Male" "Male" ...
## $ release : chr [1:226826] "RELEASE-2022" "RELEASE-2022" "RELEASE-2022" "RELEASE-2022" ...
## $ startCloudCoverPercentage : chr [1:226826] "20" "20" "20" "20" ...
## $ endCloudCoverPercentage : chr [1:226826] "40" "40" "40" "40" ...
## $ startRH : chr [1:226826] "72" "72" "72" "72" ...
## $ endRH : chr [1:226826] "56" "56" "56" "56" ...
## $ observedHabitat : chr [1:226826] "evergreen forest" "evergreen forest" "evergreen forest" "evergreen forest" ...
## $ observedAirTemp : chr [1:226826] "18" "18" "18" "18" ...
## $ kmPerHourObservedWindSpeed: chr [1:226826] "1" "1" "1" "1" ...
## $ samplingProtocolVersion : chr [1:226826] "NEON.DOC.014041vG" "NEON.DOC.014041vG" "NEON.DOC.014041vG" "NEON.DOC.014041vG" ...
## $ remarks : chr [1:226826] NA NA NA NA ...
## $ clusterCode : chr [1:226826] NA NA NA NA ...
## $ latitude : num [1:226826] 44.1 44.1 44.1 44.1 44.1 ...
## $ longitude : num [1:226826] -71.3 -71.3 -71.3 -71.3 -71.3 ...
## $ elevation : num [1:226826] 576 576 576 576 576 ...
## $ nlcdClass : chr [1:226826] "evergreenForest" "evergreenForest" "evergreenForest" "evergreenForest" ...
## $ plotType : chr [1:226826] "distributed" "distributed" "distributed" "distributed" ...
table(neonDivData::data_bird$taxon_rank)
##
## class family genus species speciesGroup subfamily
## 1791 1835 261 222552 139 114
## subspecies
## 134
# Subsetting using tidyverse
data_bird[, c("siteID", "plotID", "pointID", "observation_datetime",
"taxon_id", "taxon_name", "taxon_rank",
"latitude", "longitude", "elevation")]
#using dplyr
select(data_bird, siteID, plotID, pointID, date_time = observation_datetime,
starts_with("taxon"),
latitude, longitude, elevation)
select(data_bird, ends_with("name"))
select(data_bird, where(is.numeric))
select(data_bird, latitude, longitude, everything())
# filter a AND b
filter(data_bird, plotID == "BART_025", pointID == "C1")
# Filter a OR b
filter(data_bird, plotID == "BART_025" | pointID == "C1")
mutate(data_bird, new_column = value * 10)